-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[release/8.0] Support assignment to multiple refs in trim analyzer #90936
Conversation
Tagging subscribers to this area: @agocke, @sbomer, @vitek-karas Issue DetailsBackport of #90287 to release/8.0 /cc @sbomer Customer ImpactTestingRiskIMPORTANT: If this backport is for a servicing release, please verify that:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
approved. once you have a code review and a green ci you can merge.
@sbomer I can merge it for you, just ping me. No need to click on "Update branch" (it will restart the CI). There is a CI failure in browser-wasm saying there's not enough disk space, so I assume it's unrelated. I re-ran the failed legs just in case, but they were showing up as warnings so I might just merge if they happen again. |
Backport of #90287 to release/8.0
/cc @sbomer
Customer Impact
Analyzer would throw an exception, producing the following error with certain specific code patterns involving assignments to multiple refs:
For example, the following code would produce this error:
Testing
Added testcases to validate that this and similar patterns no longer throw and produce reasonable analysis results (even though it is unlikely that such a pattern will be used in a way that is meaningful for the purpose of trim warnings).
Risk
Low risk. This fixes an analyzer crash without changing the analysis results for existing code. There's a fair amount of code in this change, but any risk is limited to the analyzer that runs during build, not directly affecting the runtime behavior or the output binary.